package com.ruoyi.binding.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.DataSource;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理数据对象 mh_order_raw_data
 * 
 * @author Ekko
 * @date 2025-08-06
 */
@Setter
@Getter
@EqualsAndHashCode(callSuper = true)
@Data
public class MhOrderRawData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @Excel(name = "部门ID", type = Excel.Type.EXPORT)
    private Long deptId;

    /** ID */
    @Excel(name = "ID")
    private Long oid;

    /** 单号 */
    @Excel(name = "单号")
    private String orderId;

    /** 展示单号 */
    @Excel(name = "展示单号")
    private String orderIdView;

    /** 名称 */
    @Excel(name = "名称")
    private String gameName;

    /** 区服 */
    @Excel(name = "区服")
    private String gameArea;

    /** 服务器 */
    @Excel(name = "服务器")
    private String gameServer;

    /** 职业 */
    @Excel(name = "职业")
    private String gameJob;

    /** 分组 */
    @Excel(name = "分组")
    private String gameGroup;

    /** 角色名 */
    @Excel(name = "角色名")
    private String roleName;

    /** 等级 */
    @Excel(name = "等级")
    private String levelMark;

    /** 物品备注 */
    @Excel(name = "物品备注")
    private String itemRemark;

    /** 其他备注 */
    @Excel(name = "其他备注")
    private String otherRemark;

    /** 标签 */
    @Excel(name = "标签")
    private String orderLabel;

    /** 标签颜色 */
    @Excel(name = "标签颜色")
    private String orderLabelColor;

    /** 预计小时数 */
    @Excel(name = "预计小时数")
    private BigDecimal hours;

    /** 超时描述 */
    @Excel(name = "超时描述")
    private String orderHoursDescStr;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderSta;

    /** 项目描述 */
    @Excel(name = "项目描述")
    private String project;

    /** 指派时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "指派时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assTime;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 期望完成时间 */
    @Excel(name = "期望完成时间")
    private String expectEndTime;

    /** 接单人 */
    @Excel(name = "接单人")
    private String recManName;

    /** 接单费用 */
    @Excel(name = "接单费用")
    private BigDecimal recFee;

    /** 是否自动指派 */
    @Excel(name = "是否自动指派")
    private String isAutoAssignment;

    /** 自动指派人 */
    @Excel(name = "自动指派人")
    private String autoAssignmentManName;

    /** 接单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recOrderTime;

    /** 机位编号 */
    @Excel(name = "机位编号")
    private String jiwei;

    /** 是否已读 */
    @Excel(name = "是否已读")
    private String isRead;

    /** 是否加急 */
    @Excel(name = "是否加急")
    private String isJiaJi;

    /** 是否拆单 */
    @Excel(name = "是否拆单")
    private String isSplitOrder;

    /** 自定义标签 */
    @Excel(name = "自定义标签")
    private String customizeTag;

    /** 动态备注 */
    @Excel(name = "动态备注")
    private String dynamicRemark;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String orderRemark;

    /** 任务ID */
    @Excel(name = "任务ID")
    private Long taskId;

    /** 任务名称 */
    @Excel(name = "任务名称")
    private String taskName;

    /** 游戏账号 */
    @Excel(name = "游戏账号")
    private String gameAcc;

    /** 账号密码 */
    @Excel(name = "账号密码")
    private String accPwd;

    /** 子账号 */
    @Excel(name = "子账号")
    private String zgameAcc;

    /** 订单内容 */
    @Excel(name = "订单内容")
    private String orderContent;

    /** 黑名单ID */
    @Excel(name = "黑名单ID")
    private Long backListId;

    /** 拆单ID */
    @Excel(name = "拆单ID")
    private Long splitId;

    /** 手机号 */
    @Excel(name = "手机号")
    private String moblie;

    /** QQ号 */
    @Excel(name = "QQ号")
    private String qq;

    /** 旺旺号 */
    @Excel(name = "旺旺号")
    private String WangWang;

    /** 来源平台 */
    @Excel(name = "来源平台")
    private String orderSoure;

    /** 来源域名 */
    @Excel(name = "来源域名")
    private String soureFromHost;

    /** 客户付款价格 */
    @Excel(name = "客户付款价格")
    private BigDecimal price;

    /** 录单人 */
    @Excel(name = "录单人")
    private String inputOrderManName;

    /** 派单人 */
    @Excel(name = "派单人")
    private String assUserName;

    /** 是否抛单 */
    @Excel(name = "是否抛单")
    private String isThrowOrder;

    /** 结算状态 */
    @Excel(name = "结算状态")
    private String isSettStatus;

    /** 原始订单ID */
    @Excel(name = "原始订单ID")
    private String orderFromOrderId;

    /** 允许改价 */
    @Excel(name = "允许改价")
    private String isAllowChangeOrderFee;

    /** 接单保障金 */
    @Excel(name = "接单保障金")
    private BigDecimal recOrderInsureAmount;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private Long payMethod;

    /** 服务费用 */
    @Excel(name = "服务费用")
    private BigDecimal serviceAmount;

    /** 是否推送JDP */
    @Excel(name = "是否推送JDP")
    private String isPushJdp;

    /** 抛单次数 */
    @Excel(name = "抛单次数")
    private Long throwCount;

    /** 转单类型 */
    @Excel(name = "转单类型")
    private Long transfType;

    /** JDP推送状态 */
    @Excel(name = "JDP推送状态")
    private String pushJdpOrderState;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 组长UID */
    @Excel(name = "组长UID")
    private Long groupMangeUid;

    /** 接单结算次数 */
    @Excel(name = "接单结算次数")
    private Long recSettCount;

    /** 上传截图数 */
    @Excel(name = "上传截图数")
    private Long imgCount;

    /** 手机 */
    @Excel(name = "手机")
    private String sphone;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date delTime;

    /** 删除人 */
    @Excel(name = "删除人")
    private String delUserName;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private Long bussType;

    /** 下单人 */
    @Excel(name = "下单人")
    private String addOrderUserName;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundFee;

    /** 退款时间 */
    @Excel(name = "退款时间")
    private String refundTimeStr;

    /** 退款方式 */
    @Excel(name = "退款方式")
    private String refundModel;

    /** 退款人 */
    @Excel(name = "退款人")
    private String refundUserName;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectTypeName;

    /** 实收金额 */
    @Excel(name = "实收金额")
    private String netReceipts;

    /** TID */
    @Excel(name = "TID")
    private String tid;

    /** 渠道ID */
    @Excel(name = "渠道ID")
    private Long fsid;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 原始价格 */
    @Excel(name = "原始价格")
    private BigDecimal originPrice;

    /** 优惠 */
    @Excel(name = "优惠")
    private BigDecimal discount;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("oid", getOid())
            .append("orderId", getOrderId())
            .append("orderIdView", getOrderIdView())
            .append("gameName", getGameName())
            .append("gameArea", getGameArea())
            .append("gameServer", getGameServer())
            .append("gameJob", getGameJob())
            .append("gameGroup", getGameGroup())
            .append("roleName", getRoleName())
            .append("levelMark", getLevelMark())
            .append("itemRemark", getItemRemark())
            .append("otherRemark", getOtherRemark())
            .append("orderLabel", getOrderLabel())
            .append("orderLabelColor", getOrderLabelColor())
            .append("hours", getHours())
            .append("orderHoursDescStr", getOrderHoursDescStr())
            .append("orderSta", getOrderSta())
            .append("project", getProject())
            .append("assTime", getAssTime())
            .append("startTime", getStartTime())
            .append("expectEndTime", getExpectEndTime())
            .append("recManName", getRecManName())
            .append("recFee", getRecFee())
            .append("isAutoAssignment", getIsAutoAssignment())
            .append("autoAssignmentManName", getAutoAssignmentManName())
            .append("createTime", getCreateTime())
            .append("recOrderTime", getRecOrderTime())
            .append("jiwei", getJiwei())
            .append("isRead", getIsRead())
            .append("isJiaJi", getIsJiaJi())
            .append("isSplitOrder", getIsSplitOrder())
            .append("customizeTag", getCustomizeTag())
            .append("dynamicRemark", getDynamicRemark())
            .append("orderRemark", getOrderRemark())
            .append("taskId", getTaskId())
            .append("taskName", getTaskName())
            .append("gameAcc", getGameAcc())
            .append("accPwd", getAccPwd())
            .append("zgameAcc", getZgameAcc())
            .append("orderContent", getOrderContent())
            .append("backListId", getBackListId())
            .append("splitId", getSplitId())
            .append("moblie", getMoblie())
            .append("qq", getQq())
            .append("WangWang", getWangWang())
            .append("orderSoure", getOrderSoure())
            .append("soureFromHost", getSoureFromHost())
            .append("price", getPrice())
            .append("inputOrderManName", getInputOrderManName())
            .append("assUserName", getAssUserName())
            .append("isThrowOrder", getIsThrowOrder())
            .append("isSettStatus", getIsSettStatus())
            .append("orderFromOrderId", getOrderFromOrderId())
            .append("isAllowChangeOrderFee", getIsAllowChangeOrderFee())
            .append("recOrderInsureAmount", getRecOrderInsureAmount())
            .append("payMethod", getPayMethod())
            .append("serviceAmount", getServiceAmount())
            .append("isPushJdp", getIsPushJdp())
            .append("throwCount", getThrowCount())
            .append("transfType", getTransfType())
            .append("pushJdpOrderState", getPushJdpOrderState())
            .append("completeTime", getCompleteTime())
            .append("groupMangeUid", getGroupMangeUid())
            .append("recSettCount", getRecSettCount())
            .append("imgCount", getImgCount())
            .append("sphone", getSphone())
            .append("delTime", getDelTime())
            .append("delUserName", getDelUserName())
            .append("bussType", getBussType())
            .append("addOrderUserName", getAddOrderUserName())
            .append("refundFee", getRefundFee())
            .append("refundTimeStr", getRefundTimeStr())
            .append("refundModel", getRefundModel())
            .append("refundUserName", getRefundUserName())
            .append("projectTypeName", getProjectTypeName())
            .append("netReceipts", getNetReceipts())
            .append("tid", getTid())
            .append("fsid", getFsid())
            .append("customerId", getCustomerId())
            .append("originPrice", getOriginPrice())
            .append("discount", getDiscount())
            .toString();
    }
}
